/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.unmsm.cinfo.siga.ui.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *
 * @author lartkma
 */
public class Hora {
    private int horas;
    private int minutos;
    private static final Pattern patron = Pattern.compile("(\\d\\d):(\\d\\d)");

    public Hora(int horas, int minutos) {
        setHoras(horas);
        setMinutos(minutos);
    }
    
    public Hora(String texto){
        Matcher m = patron.matcher(texto);
        if(m.matches()){
            setHoras(Integer.parseInt(m.group(1)));
            setMinutos(Integer.parseInt(m.group(2)));
        }else throw new IllegalArgumentException("Formato inválido");
    }

    public int getHoras() {
        return horas;
    }

    public void setHoras(int horas) {
        if(horas < 0 || horas > 23)
            throw new IllegalArgumentException("Hora inválida");
        this.horas = horas;
    }

    public int getMinutos() {
        return minutos;
    }

    public void setMinutos(int minutos) {
        if(minutos < 0 || minutos > 59)
            throw new IllegalArgumentException("Minutos inválidos");
        this.minutos = minutos;
    }

    @Override
    public String toString() {
        return String.format("%02d:%02d", horas, minutos);
    }    
}
